java outOfMemoryError 与 stringbuilder
全部标签 当我遇到它时我很惊讶,并编写了一个控制台应用程序来检查它并确保我没有做任何其他事情。谁能解释一下?代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingSystem.Xml;usingSystem.Xml.Serialization;namespaceConsoleApplication1{publicclassProgram{staticvoidMain(string[]args){varo=newSomeObject{Field1=
我有以下代码:StringBuilderdata=newStringBuilder();for(inti=0;i但是我得到这个错误:cannotconvertfrom'System.Text.StringBuilder'to'char[]'Thebestoverloadedmethodmatchfor'System.Text.Encoding.GetBytes(char[])'hassomeinvalidarguments 最佳答案 以下代码将解决您的问题。StringBuilderdata=newStringBuilder();f
我有一个StringBuilder实例,我在其中做了很多sb.AppendLine("test");例如。如何计算出我有多少行?我看到这个类有.Length但它告诉我总共有多少个字符。有什么想法吗? 最佳答案 按效率排序:计算您的AppendLine()调用在循环中调用IndexOf()使用正则表达式使用String.Split()最后一个非常昂贵,会产生很多垃圾,不要使用。 关于c#-如何检索StringBuilder行数?,我们在StackOverflow上找到一个类似的问题:
StringBuilder似乎没有Substring(start,len)方法...我在这里缺少什么? 最佳答案 StringBuilder类有一个特殊版本的ToString带有两个参数的方法,与Substring(startIndex,length)完全相同。StringBuildersb=newStringBuilder("ThisisaTest");stringtest=sb.ToString(10,4);Console.WriteLine(test);//result=Test
非常感谢有人帮助我解决以下问题:我时常遇到以下异常:Indexwasoutofrange.Mustbenon-negativeandlessthanthesizeofthecollection.Parametername:chunkLength关于stringBuilder.ToString()。奇怪的是,如果我将stringBuilder.ToString()放入watch中,它会完美运行。 最佳答案 看起来这是一个多线程问题。我锁定了线程以防止同时对stringBuilder进行多次访问。publicvoidAddString(
我想测试StringBuilder是否为空,但没有IsEmpty方法或属性。如何确定这一点? 最佳答案 如果您查看documentationofStringBuilder它只有4个属性。其中之一是长度。ThelengthofaStringBuilderobjectisdefinedbyitsnumberofCharobjects.您可以使用Length属性:GetsorsetsthelengthofthecurrentStringBuilderobject.StringBuildersb=newStringBuilder();if(
我最近读到在StringWriter和StringReader中用于写入和读取StringBuilder。当我使用StringBuilder对象时,它看起来是一个自给自足的类。我们有各种读写StringBuilder的方法,使用StringBuilder.Append()、Insert()、Replace()、Remove()等...StringWriter和StringReader有什么可能的用途,而这不能由StringBuilder本身完成?它们的实际用途是什么?他们没有将Stream作为输入的可能原因是什么(因为任何其他编写者和读者都将流作为要操作的构造函数参数)但StringB
这个问题在这里已经有了答案:Bestwaytoremovethelastcharacterfromastringbuiltwithstringbuilder(12个答案)关闭3年前。我有以下字符串生成器作为msrtResult,它很长:mstrResult.Append(rtbResult.Text).Append("})})"+Environment.NewLine)现在如何从mstrResult中删除最后一个“,”?(它在那个mstrResult的中间,它不是整个字符串的最后一个字符,因为我正在向它附加字符串)我应该在添加换行符之前这样做。谢谢
使用标记生成器和字符串生成器在htmlhelper类中创建表格或使用HtmlTable有什么区别?他们生成的不是一样的东西吗?? 最佳答案 TagBuilder是专门为创建html标签及其内容而设计的类。你说得对,结果无论如何都是一个字符串,当然你仍然可以使用StringBuilder并且结果将是相同的,但是你可以使用TagBuilder做事更容易。假设您需要生成一个标签:使用StringBuilder你需要这样写:varsb=newStringBuilder();sb.Append("");sb.ToString();这不是很酷,
有没有办法附加两个字符串生成器?如果是这样-它的性能是否比将字符串附加到StringBuilder更好? 最佳答案 我知道这是三年后的事了,但是.NET4StringBuilder的行为无论如何都不同了。尽管如此,它还是会回到“你想做什么?”您是否只是在寻找附加两个StringBuilder并继续处理后一个结果的最高效方法?还是您希望继续使用附加的StringBuilder的现有缓冲值?对于前者,并且始终在.NET4中,frontStringBuilder.Append(backStringBuilder);最好。对于.NET2/3